package admin

import (
	"ginfwk/adapter/facade/http/admin/analysis"
	"ginfwk/adapter/facade/http/admin/authority"
	"ginfwk/adapter/facade/http/admin/authorize"
	"ginfwk/adapter/facade/http/admin/department"
	"ginfwk/adapter/facade/http/admin/role"
	"ginfwk/adapter/facade/http/admin/user"
	"ginfwk/adapter/facade/http/admin/workplace"
	"ginfwk/framework/core/gins"
)

type Admin struct {
	user.AminUser
	analysis.AdminAnalysis
	workplace.AdminWorkplace
	department.AdminDepartment
	authorize.AdminAuthorize
	authority.AdminAuthority
	role.AdminRole
}

func (a *Admin) Register(r gins.IRoutes) {
	r = r.Group("/admin")
	{
		a.AminUser.Register(r)
		a.AdminAnalysis.Register(r)
		a.AdminWorkplace.Register(r)
		a.AdminDepartment.Register(r)
		a.AdminAuthorize.Register(r)
		a.AdminRole.Register(r)
		a.AdminAuthority.Register(r)
	}
}
